home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
geos-archive
/
GEOS-D64
/
GEOS - Geos #005 (19xx)(-).d64
/
a_mouseup
(
.txt
)
< prev
next >
Wrap
GEOS ConVerT
|
2019-04-13
|
5KB
|
110 lines
a/MouseUp
SEQ formatted GEOS file V1.0
802 / No Paging
64 L2R2L 1351
Paging
GRAB ICON
PrintDrvrPatcher
1526 FIX
CONVERT3.0.64
COPE Source V1.1
COPE Editor V1.3
GeoCOPE assembly code for the boot-up file "MouseUp".
@(@\@
@/AtA
geoCOPE Assembler Source Code
; Auto-executing Preferences & input-driver loader.
; v1.1 -- Made prg. to boot default input driver. - Terry R. Mullett 87-3-19
; v2.0 -- Added preferences loader/setter. - TRM 87-4-26
; v2.1 -- Changed order to set prefs., first. Also, - Greg King 88-11-29
; added code to init. driver so that self-adapters will work.
; v3.0 -- Added code to load 128 input driver if GEOS128. - GDK 88-12-4
; Normally, at boot-up time, GEOS doesn't load your input driver and
; preferences until after the deskTop has run. However, GEOS (v1.3 and later)
; runs auto-executing programs BEFORE it runs the deskTop! Therefore, those
; programs can't use "mouse input" -- unless they have "outside" help!
; "MouseUp" is an "auto-execute" file which will set up your preferences and
; default input driver. If you copy it onto your boot disk "before" any
; auto-exec files that need mouse input, then you'll be able to control those
; programs. MouseUp doesn't need to be "in front of" auto-execs. that don't use
; the driver (CONFIGURE, for example).
.Dname MouseUp
.Type AUTO_EXEC ; Auto-Boot Application
; +++ info block +++
.Name "MouseUp v3.0",0,0,0,SET128_80COL|SET128_40COL
.Author Greg King
.Icon
$ff,$ff,$ff,$80,$00,$01,$9e,$00,$79,$bf,$00,$fd,$ff,$81,$ff,$ff
$81,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$81,$ff,$bf,$db,$fd,$9f,$db
$f9,$86,$db,$61,$8f,$db,$f1,$8f,$81,$f1,$8f,$ff,$f1,$87,$ff,$e1
$83,$db,$c1,$81,$ff,$81,$80,$7e,$01,$80,$00,$01,$ff,$ff,$ff
; descriptive text:
; .Info Installs user preferences and input driver
; .Info for auto-exec. files without that capability.
; My macro-instructions are different from Berkeley's: "Load" puts
; immediate values into CPU registers, "Store" puts them into memory,
; and "Move" puts the contents of memory into other memory.
; "B" and "W" mean Byte and Word data sizes.
; "bnz" is a branch-on-not-zero synonym for "bne."
.Include Macroes
.Include geoSyms
; +++ program code +++
.Start $0800
mouseup jsr NewDisk ; (Just in case it might be needed.)
StoreB r0L : SET_LD_AT_ADDR
StoreW r6 : prefName
StoreW r7 : prefImage ; Load preferences file into buffer.
jsr GetFile
txa ; Did user make a file?
bnz NoPrefs ; No, don't change defaults.
MoveB maxMouseSpeed : prefMaxSpeed ; Set joystick behavior.
MoveB minMouseSpeed : prefMinSpeed
MoveB mouseAcceleration : prefAcceleration
lda prefForeColor ; Set screen colors.
ora prefBackColor
sta screenColors
sta r2L
StoreW r0 : 25*40
StoreW r1 : colorMatrix
jsr FillRam ; Color screen, ...
jsr InitForIO ; (Reach for VIC-II)
MoveB extclr : prefBorderColor ; ... border,
MoveB mob0clr : prefMouseColor ; and mouse sprite.
jsr DoneWithIO
jsr i_MoveData ; Set that sprite's look.
.Word prefMouseShape, mousePicData, 21*3
NoPrefs StoreW r6 : fileName
ZeroW r10 ; Don't bother with permanent name.
lda #INPUT_64 ; Assume, at first, it's GEOS64.
bit c128Flag
bpl Is64
lda #INPUT_128 ; No, it's GEOS128.
Is64 sta r7L
StoreB r7H : 1 ; Need only one filename.
jsr FindFTypes ; Find out what the default input driver is called.
lda r7H ; (Zero if file found, one if not.)
bnz NoInput
StoreB r0L : NULL
StoreW r6 : fileName
jsr GetFile ; Load that driver.
bnz NoInput
jsr InitMouse ; Initiate it.
clc ; (Don't move mouse-cursor)
jsr StartMouseMode
jsr UpdateMouse ; Set "old" device position within driver.
NoInput jmp EnterDeskTop ; Go to next auto-exec.
prefName .Byte "Preferences", EOS ; (That file can't be renamed.)
; Preferences file is loaded into this buffer.
prefImage
prefMaxSpeed .Block 1 ; Maximun allowed mouse-cursor speed.
prefMinSpeed .Block 1 ; Minimum allowed speed.
prefAcceleration .Block 1 ; Desired speed change.
prefForeColor .Block 1 ; Upper nibble.
prefBackColor .Block 1 ; Lower nibble.
prefMouseColor .Block 1
prefMouseShape .Block 21*3
prefBorderColor .Block 1
fileName .Block 16+1
.Block 0 ; Show highest-used address, on assembly listing.
.PC prefImage ; Don't put space for variables into program-file!